package com.yingxin.yxerp.module.inform.service;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yingxin.yxerp.module.inform.entity.NoticeType;
import com.yingxin.yxerp.module.inform.vo.req.NoticeTypeQueryVo;
import com.yingxin.yxerp.module.inform.vo.resp.NoticeTypeRespVo;

import java.util.List;

/**
 * <p>
 * 通知公告-公告类型 服务类
 * </p>
 *
 * @author zhuchangjie
 * @since 2021-12-21
 */
public interface INoticeTypeService extends IService<NoticeType> {

    /**
     * 分页查询
     *
     * @param page
     * @param queryVo
     * @return
     */
    IPage<NoticeTypeRespVo> pageVo(Page page, NoticeTypeQueryVo queryVo);

    /**
     * 查询全部
     *
     * @param queryVo
     * @return
     */
    List<NoticeTypeRespVo> listVo(NoticeTypeQueryVo queryVo);

    /**
     * 根据id查询
     *
     * @param id
     * @return
     */
    NoticeTypeRespVo getVo(String id);


    /**
     * 创建
     *
     * @param noticeType
     */
    void create(NoticeType noticeType);


    /**
     * 修改
     *
     * @param noticeType
     */
    void update(NoticeType noticeType);


    /**
     * 根据id删除
     *
     * @param noticeType
     */
    void delete(NoticeType noticeType);

    Integer countByTypeNameNeId(String typeName, String id);
}
